package com.jcli._java_swing_入门教程pdf.ch17;

import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;

/**
 * @author li
 * @version 1.0
 * @belongsProject novel_20230923
 * @belongsPackage com.jcli._java_swing_入门教程pdf.ch17
 * @className _08_JListDemo2
 * @description TODO  列表框设置
 * @createTime 2024-01-25  21:19
 */
public class _08_JListDemo2 extends JFrame {
    public static _08_JListDemo2 instance = new _08_JListDemo2();

    public _08_JListDemo2() {
        setTitle("列表框组件实例");
        setBounds(333, 222, 333, 333);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        //创建面板
        JPanel contentPane = new JPanel();
        //    设置面板边框
        contentPane.setBorder(new EmptyBorder(16, 16, 16, 16));
        //    设置内容面板为边界布局
        contentPane.setLayout(new BorderLayout(0, 0));
        //    应用内容面板
        setContentPane(contentPane);
        //    创建滚动面板
        JScrollPane scrollPane = new JScrollPane();
        //    将面板增加到边界布局中央
        contentPane.add(scrollPane, BorderLayout.CENTER);
        //    创建标签
        JLabel label = new JLabel("似乎不一样");
        //    创建列表内容
        //    创建列表
        JList jList = new JList();
        //    设置列表只能选择一个元素
        jList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        //    在滚动面板显示列表
        contentPane.add(jList);
        //    创建含12个元素的数组
        String[] items = new String[12];
        //    为数组中的元素赋值
        for (int i = 0; i < items.length; i++) {
            items[i] = "这是列表框的第" + i + "个元素";
        }
        //    为列表填充数据
        jList.setListData(items);
        //    标签，列表加入面板
    }

    public static void main(String[] args) {
        instance.setVisible(true);
    }
}
